package datastructure.linkedlist;

/**
 *
 * 链表的理解
 *      1 链表需要通过嵌套对象进行构造, 嵌套对象本身就是链表
 *      2 链表在Java中的实现是构建一个对象 这个对象的一个属性是和他类型一致的变量
 *        相当于一个大对象包含了一个和它类型一致的子对象
 *        最外层的对象可以说是整个链表 也可以说是头指针 子对象也就相当于指针
 *      3 包含类型一致的属性的对象就是链表的结点 也是指针 也是链表本身
 *      4 链表的增删改 相当于重新构造这个最外层的大对象里面包含的子对象的值 , 拿一个新的子对象替换原来的子对象
 *
 * 单链表的使用
 *      1 善于使用多个辅助指针(2个或者3个指针), 因为单链表是不可逆的, 遍历到当前节点, 也就无法获取到前面一个节点了,
 *        需要定义一个辅助指针, 即便在当前节点也能获取前面一个节点的地址
 *      2 注意单链表操作的顺序, 一定不能把链表丢失了, 断开的链表一定要有指针可以指向它, 否则断开的部分就找不回来了
 *      3 多个指针同步往右边移动时, 因为单链表不可逆, 需要最左边的指针先进行移动, 否则中间断开的节点就会丢失
 *      4 需要注意下单链表是否带头节点, 写法会有所区别
 * 双向链表
 *      1 双向链表的概念类似于每一个对象都包含了它的父级对象ID和子级对象ID
 *      2 相比于单链表的删除需要遍历到要删除节点的前一个节点, 双链表直接遍历到要删除的节点实现自我删除
 *
 *
 *
 */
public class LinkedListMain {
}
